// Copyright © 2016 Alan A. A. Donovan & Brian W. Kernighan.
// License: https://creativecommons.org/licenses/by-nc-sa/4.0/

package main

import (
	"fmt"
	"ch2/tempconv"
)

func Example_one() {
	{
		//!+arith
		fmt.Printf("%g\n", tempconv.BoilingC-tempconv.FreezingC) // "100" °C
		boilingF := tempconv.CToF(tempconv.BoilingC)
		fmt.Printf("%g\n", boilingF-tempconv.CToF(tempconv.FreezingC)) // "180" °F
		//!-arith
	}
	/*
		//!+arith
		fmt.Printf("%g\n", boilingF-FreezingC)       // compile error: type mismatch
		//!-arith
	*/

	// Output:
	// 100
	// 180
}

func Example_two() {
	//!+printf
	c := tempconv.FToC(212.0)
	fmt.Println(c.String()) // "100°C"
	fmt.Printf("%v\n", c)   // "100°C"; no need to call String explicitly
	fmt.Printf("%s\n", c)   // "100°C"
	fmt.Println(c)          // "100°C"
	fmt.Printf("%g\n", c)   // "100"; does not call String
	fmt.Println(float64(c)) // "100"; does not call String
	//!-printf

	// Output:
	// 100°C
	// 100°C
	// 100°C
	// 100°C
	// 100
	// 100
}


func main() {
	Example_one()
	Example_two()
}


